package team3;

/** Interface for methods of determining how good a board state is for a certain player.
 */
public interface GoodnessFunction
{
    /**Determines the goodness value of a specific Board, as it related to
     * <code>playerToMaximize</code>
     * @param state The state to evaluate goodness for
     * @param playerToMaximize The player to maximize for.
     * @return A double value, such that higher values are better for <code>playerToMaxamize</code>
     */
	public double evaluateGoodness(BoardState state, AI.Player playerToMaximize);

    /**Gets a short name for the goodness function
     * @return Name of the function
     */
    public String getName();
}

